package com.study.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.study.pojo.entity.Goodsinfo;
import com.study.pojo.resp.ResultMessage;

import javax.servlet.http.HttpServletRequest;

/**
 * 商品模块业务接口
 * @author Screncea
 */
public interface ShopService extends IService<Goodsinfo> {
    /**
     * 根据商品类型id查询商品信息集合
     *
     * @return 商品集合
     */
    ResultMessage selectAllGoods();

    /**
     * 查询商品分类
     * @return 分类集合
     */
    ResultMessage selectShopType();
    /**
     * 根据商品信息查询商品信息
     * @param  goodId 商品id
     * @return 商品信息
     */
    ResultMessage findGoodByGoodId(String goodId);

    /**
     * 根据商品类型查询商品信息
     * @param goodType 商品类型id
     * @return
     */
    ResultMessage selectShopByType(String goodType) ;

    /**
     * 判断用户积分是否足够
     * @param totalMoney 商品加积分
     * @param userId 用户id
     * @return result结果集
     */
    ResultMessage findScore(Integer totalMoney, String userId);

    /**
     * 用户支付
     * @param userPassword 用户输入密码
     * @param userId 用户id
     * @return
     */
    ResultMessage pay(String userPassword, String userId,String goodId,String orderId);

    /**
     * 添加订单
     * @param goodId 商品id
     * @param userId 用户id
     * @return
     */
    ResultMessage addOrder(String goodId, String userId);


    /**
     * 查找支付成功订单的信息
     * @param code 取件码(唯一)
     * @param request 获取用户id
     * @return
     */
    ResultMessage findSuccessOrder(String code, HttpServletRequest request);
}
